package com.zxw.设计模式.行为型模式.观察者模式.简单实现;

import com.zxw.设计模式.行为型模式.观察者模式.简单实现.被观察者.ConcreteSubject;
import com.zxw.设计模式.行为型模式.观察者模式.简单实现.观察者.ConcreteObserver1;
import com.zxw.设计模式.行为型模式.观察者模式.简单实现.观察者.ConcreteObserver2;

/**
 * @projectName: util-cloud
 * @package: com.zxw.设计模式.行为型模式.观察者模式.简单实现
 * @className: Test
 * @author: zhangxuewei
 * @description: TODO
 * @date: 2023/10/7 15:02
 * @version: 1.0
 */
public class Test {

    public static void main(String[] args) {
        // 业务实现类
        ConcreteSubject cs = new ConcreteSubject();
        // 业务实现类追加具体的观察者，观察者可以注册多个
        cs.attach(new ConcreteObserver1());
        cs.attach(new ConcreteObserver2());
        // 业务发生变动调用，通知观察者
        cs.notifyObserver("订单状态：退款");
    }

}
